﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace iNet.Media
{
	/// <summary>
	/// 媒體解碼工作的工廠介面。
	/// </summary>
	public interface IMediaDecodeTaskFactory : IMediaFormatRecognizer
	{
		/// <summary>
		/// 建立解碼工作。
		/// </summary>
		/// <param name="source">媒體儲存來源。</param>
		/// <returns>解碼工作。</returns>
		MediaDecodeTask CreateDecodeTask(MediaStorage source);
		/// <summary>
		/// 取得工廠名稱。
		/// </summary>
		string Name { get; }
		/// <summary>
		/// 取得支援的媒體格式。
		/// </summary>
		IMediaFormat DecodingFormat { get; }
		/// <summary>
		/// 取得支援的解碼請求組合。
		/// </summary>
		MediaDecodeRequests SupportedMediaDecodeRequests { get; }
	}
}
